A business object is a software model representing real-world items used during the transaction of business. For example, a business object may represent a business document such as a sales order, a purchase order, or an invoice. A business object may also represent master data objects such as a product, a business partner, or a piece of equipment. Particular ones of such master data objects (e.g., SalesOrder SO435539, ACME corporation) are represented by instances of their representing business object, or business object instances.
A business object may specify business logic and/or data having any suitable structure. The structure of a business object may be determined based on the requirements of a business scenario in which the business object is to be deployed. A business application for a particular business scenario may require many business objects, where the structure of each business object has been determined based on the requirements of the particular business scenario.
A business process platform, or application platform, typically exposes a complex business object model. The business object model describes many business objects, their relations and dependencies. The business object model may be used by several business applications, or solutions, to access data and logic of business object instances. The applications, in turn, provide such data to end-users through user interfaces, reports, etc.
An application platform is typically intended as a basis for different business solutions applicable for small-, medium-, and large-sized companies. In order to provide all the business functionality required by these target groups, the business objects of the platform's business object model may contain more functionality than is required by a business solution sold to small- and medium-sized companies.
Moreover, the business objects of a typical application platform are modeled and implemented in a strictly normalized way focused on service provisioning. These normalized business objects are typically not designed in order to facilitate their manipulation and use by a customer. A business object model also contains many entities which are for internal use by the platform developer.
For at least the foregoing reasons, it is not desirable to directly expose a customer to a business object model of an application platform. The complexity of the business object model may provide flexibility in developing applications, but a customer is primarily focused on use-case specific views, including joined data of other business objects, which may be used by the customer to develop user interfaces, forms, agents, or analytics.